/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package com.javiermoreno.bankof.dominio;

import com.javiermoreno.framework.errores.BusinessException;

/**
 *
 * @author ciberado
 */
public class CuentaCorriente extends ProductoFinanciero {

    public CuentaCorriente() {
    }

    public CuentaCorriente(String codigo, double saldo, double interesAnual) {
        super(codigo, saldo, interesAnual);
    }
 
    public void transferir(ProductoFinanciero destino, double importe) {
        if (importe < 0.0) {
            throw new IllegalArgumentException("CuentaCorriente.transferir.Error.ImporteNoValido");
        }
        if (importe > super.getSaldo()) {
            throw new BusinessException("CuentaCorriente.transferir.Error.ImporteSuperiorSaldo");
        }
        this.setSaldo(this.getSaldo() - importe);
        destino.setSaldo(destino.getSaldo() + importe);
    }
    
}
